﻿<?php

class Usuarios extends Controller
{
    public function index()
    {	
    	session_start();
		// define dados que serao enviados para as views.
		$dados = Array();
		
        require 'application/views/_templates/header.php';
        require 'application/views/usuarios/index.php';
        require 'application/views/_templates/footer.php';
    }
	
	public function cadastro()
    {	
    	session_start();
		$dados = Array();
		
		$page = "";
		
		require 'application/views/_templates/header.php';
        require 'application/views/usuarios/cadastro.php';
        require 'application/views/_templates/footer.php';
    }
	
	public function cadastro_processa() 
    {
    	session_start();
		$dados = Array();
		
		$page = "";
		
		if ( $_SERVER['REQUEST_METHOD'] != 'POST' ) {
			die("método não permitido.");
		}
		
		$nome 		= isset($_POST['nome']) ? $_POST['nome'] : "";
		$email 		= isset($_POST['email']) ? $_POST['email'] : "";
		$senha 		= isset($_POST['senha']) ? $_POST['senha'] : "";
		$senhaconf 	= isset($_POST['senhaconf']) ? $_POST['senhaconf'] : "";
		$datanasc 	= isset($_POST['datanasc']) ? $_POST['datanasc'] : "";
		
		$banco = Array();
		
		//ja define que o tipo de cadastro eh COMUM.
		$banco['tipous'] = 1;
		
		//caso der erro no formulário, volta com os campos preenchidos
		$_SESSION['formulario']['usuario']['nome'] = $nome;
		$_SESSION['formulario']['usuario']['email'] = $email;
		$_SESSION['formulario']['usuario']['datanasc'] = $datanasc;
		
		//validação
		if(strlen($nome) < 3){
			$dados['erro']['nome'] = "Nome inválido.";
		} else {
			$banco['nome'] = $nome;
		}
		
		if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
			$dados['erro']['email'] = "Email inválido.";
		} else {
			$banco['email'] = $email;
		}
		
		if (strlen($senha) < 6) {
			$dados['erro']['senha'] = "Senha deve possuir ao menos 6 caracteres.";
		}
		
		if ($senha != $senhaconf) {
			$dados['erro']['senhaconf'] = "As senhas não conferem. Precisam ser iguais.";
		} else {			
			$criptosenha = md5($senha);
			$senha = $criptosenha;
			$banco['senha'] = $senha;
		}
		
		$dma = explode("-", $datanasc); // array(ano, mes, dia)		
		if(count($dma) == 3){
			if ($dma[0] <= (date("Y") - 18)){
				$banco['datanasc'] = $datanasc;		
			} else {
				$dados['erro']['datanasc'] = "Menor de 18anos.";				
			}
		} else {
			$dados['erro']['datanasc'] = "Obrigatório informar sua data de nascimento.";
		}	
		
		
		
		
		if(isset($dados['erro'])){	
			require 'application/views/_templates/header.php';
			require 'application/views/usuarios/cadastro.php';
			require 'application/views/_templates/footer.php';
		} else {
			$usuarios_model = $this->loadModel('UsuariosModel');
			
			$linha = $usuarios_model->consultaEmailExiste($email);
			
			if($linha->qtd_email != 1){						
				try{
					$usuarios_model->adiciona($banco);
					$url = URL.'home';
					header("Location: $url");
				} catch (Exception $ex) {
					require 'application/views/_templates/header.php';
					require 'application/views/usuarios/cadastro.php';
					require 'application/views/_templates/footer.php';
				}
			} else{
				require 'application/views/_templates/header.php';
				require 'application/views/usuarios/cadastro.php';
				require 'application/views/_templates/footer.php';
			}
		}
		
		
		//depois de inserir dados no banco apaga sessao
		unset($_SESSION['formulario']);
	}
	
	
	public function minha_conta()
	{
		$dados = Array();
		session_start();
		
		$page = "";
		
		$usuarios_model = $this->loadModel('UsuariosModel');
		$usuarios = $usuarios_model->consultaUsuarioPorId($_SESSION['usuario']['id']);
		

		require 'application/views/_templates/header.php';
        require 'application/views/usuarios/conta.php';
        require 'application/views/_templates/footer.php';
	}
	
	public function altera_minha_conta()
	{
	
		$dados = Array();
		session_start();
		
		$page = "";
	
		if ( $_SERVER['REQUEST_METHOD'] != 'POST' ) {
			die("método não permitido.");
		}
		
		$nome 		= isset($_POST['nome']) ? $_POST['nome'] : "";
		$email 		= isset($_POST['email']) ? $_POST['email'] : "";
		$senha 		= isset($_POST['senha']) ? $_POST['senha'] : "";
		$senhaconf 	= isset($_POST['senhaconf']) ? $_POST['senhaconf'] : "";
		$datanasc 	= isset($_POST['datanasc']) ? $_POST['datanasc'] : "";
		
		$banco = Array();
		
		$banco['id'] = $_SESSION['usuario']['id'];		
		$banco['nome'] = $nome;
		$banco['email'] = $email;
		
		if(strlen(($senha) == '') && (($senhaconf) == '')){
			$usuarios_model = $this->loadModel('UsuariosModel');
			$usuarios = $usuarios_model->consultaUsuarioPorId($_SESSION['usuario']['id']);
			$banco['senha'] = $usuarios->senha ;
		} else {
			$criptosenha = md5($senha);
			$senha = $criptosenha;
			$banco['senha'] = $senha;
		}
		
		$banco['datanasc'] = $datanasc;	
			
		try{			
			$usuarios_model->alteraUsuarioPorId($banco);
			
			$url = URL.'home';
			header("Location: $url");
		} catch (Exception $ex) {
			require 'application/views/_templates/header.php';
			require 'application/views/usuarios/conta.php';
			require 'application/views/_templates/footer.php';
		}
	
	}
	
	
}
	
	
	
